package com.abcdefg.springtrans;

public enum Propagation {
    REQUIRED(0),//默认事务传播机制，如果当前事务存在，正常加入该事务；如果没，则创一个新的事务
    SUPPORTS(1),//如果有事务，则加入；没有则非事务运行
    MANDATORY(2),//强制性，当前没有事务，则直接抛出异常
    REQUIRES_NEW(3),//创建一个新事务，也会在自己内部创建事务，和当前事务相互独立，互不干扰
    NOT_SUPPORTED(4),//就是以非事务方式运行，如果当前存在事务，则将事务挂起
    NEVER(5),//以非事务运行，当前存在事务，则抛出异常
    NESTED(6);//当前存在事务，则嵌套创建一个事务，如果不存在，则按照REQUIRED处理

    private final int value;
    private Propagation(int value) {
        this.value = value;
    }
    public int getValue() {
        return value;
    }
}
